colorscheme:
yellow
violet
bw
Prihlásenie:
Login: Heslo:

Problem statement: zenit17cke

Enter password

Počet bodov: 25, časový limit: 500ms

Aby ste získali body z tejto úlohy, stačí zadať tajné heslo.

Vy ho neviete? Hm, to dáva zmysel, však je tajné.

Tak vám dáme číslo ktoré dostanete, ak ho preženiete touto náhodnou funkciou:

long long mod = 1LL << 50;

long long zahashuj(string s)
{
    long long res = 1;

    for(int i=0;i<s.size();++i)
    {
        res *= (s[i] + 31*i);
        res ^= (1LL << (s[i] & 47)) * (s[i] | 19);
        res %= mod;
    }

    return res;

}

Čože? Aj tak nemáte šancu ho uhádnuť? Tak vám dáme nápovedu…

Vstup a výstup

V jedinom riadku vstupu je výsledok vyššie popísanej funkcie, keď do nej dáme tajné heslo – nezáporné číslo \(x < 2^{50}\).

Vypíšte tajné heslo.

Tu sú nápovedy pre všetkých šesť vstupov:

číslo vstupu vstup nápoveda
\(1\) \(45072900280688\) Päťpísmenové slovo
\(2\) \(78124527355648\) Prvočíslo medzi \(10^9\) a \(10^9+10^5\)
\(3\) \(708784046993527\) Palindróm z písmen, nie dlhší ako desať znakov
\(4\) \(657242457795718\) Slovo dlhé desať znakov, skladajúce sa z troch rôznych písmen
\(5\) \(762177199365632\) Odhad Wolfram Alpha na populáciu Číny
\(6\) \(414003830259712\) Hodobox ľahko zabúda, a tak si toto heslo zapísal do zadania niektorej úlohy

Všetky slová sa skladajú z veľkých písmen anglickej abecedy.

 Príklad

Input:

81975681088452

Output:

PRIKLAD

f(“PRIKLAD”) = \(81975681088452\)


(C) MišoF, Zemčo. 2007 - 2013